﻿$(document).ready(function () {
    //Prepare jtable plugin
    $('#tbl-grados').jtable({
        selecting: true,
        actions: {
            listAction: "/AEscolar/_Load_Grados",
            deleteAction: '/AEscolar/_Delete_Grado',
            updateAction: '/AEscolar/_Update_Grado',
            createAction: '/AEscolar/_New_Grado'
        },
        fields: {
            ID: {
                key: true,
                list: false,
                create: false,
                edit: false
            },
            Grado: {
                title: 'Nivel de Grado',
                titleForm: 'Seleccione el nivel del Grado',
                width: '200px',
                type: 'radiobutton',
                options: { '1': 'Primer Año de Bachillerato',
                    '2': 'Segundo Año de Bachillerato',
                    '3': 'Tercer Año de Bachillerato'
                }
            },
            Especialidad: {
                title: 'Especialidad',
                titleForm: 'Seleccione el tipo de especialidad del grado',
                center: true,
                type: 'radiobutton',
                options: { 'General': 'General',
                    'Ciencias Comerciales': 'Técnico Vocacional – Ciencias Comerciales'
                }
            },
            Seccion: {
                title: 'Sección',
                width: '50px',
                center: true
            },
            AnioEscolar: {
                list: false,
                type: 'hideEditOrCreate'
            },
            Cantidad: {
                title: 'Establezca la cantidad de grados que desea crear (Max. 20)',
                list: false,
                edit: false,
            }
        },
        messages: {
            serverCommunicationError: 'Ocurrio un error al intentar comunicarse con el servidor.',
            loadingMessage: 'Cargando los registros...',
            noDataAvailable: '¡No se encontro ningun registro!',
            addNewRecord: '+ Agregar nuevo grado',
            editRecord: 'Editar Registro',
            areYouSure: '¿Esta seguro de la operación?',
            deleteConfirmation: '¿Esta seguro que desea eliminar el registro?',
            save: 'Guardar',
            saving: 'Guardando',
            cancel: 'Cancelar',
            deleteText: 'Eliminar',
            deleting: 'Eliminando',
            error: 'Error',
            close: 'Cerrar',
            cannotLoadOptionsFor: 'No se pudo cargar las opciones del campo {0}',
            pagingInfo: 'Mostrando {0} de {1} de {2} registros',
            canNotDeletedRecords: 'No se puede eliminar {0} de {1} registros',
            deleteProggress: 'Eliminando {0} de {1} registros, Por favor espere...'
        },
        formCreated: function (event, data) {
            if (data.formType == 'create') {
                data.form.find('input[name="Cantidad"]').val("1");
                data.form.find('input[name="Seccion"]').val("A");
            } else
                 data.form.find('input[name="AnioEscolar"]').val($("#grados").attr("data-anio"));
                
       
            //Campo de Año de Bachillerato
            data.form.find('input[name="Grado"]').addClass('validate[required]');
            //Campo de Especialidad
            data.form.find('input[name="Especialidad"]').addClass('validate[required]');
            //Campo de Seccion
            data.form.find('input[name="Seccion"]').addClass('validate[required, custom[onlyLetterSp]]');
            data.form.find('input[name="Seccion"]').attr("maxlength", "1");
            data.form.find('input[name="Seccion"]').css("width", "65px");
            data.form.find('input[name="Seccion"]').css("text-transform", "uppercase");
            data.form.find('input[name="Seccion"]').attr("placeholder", "Ej: A ó B");
            //Campo de Cantidad
            data.form.find('input[name="Cantidad"]').addClass('validate[required, min[1], max[20], custom[integer]]');
            data.form.find('input[name="Cantidad"]').css("width", "40px");
            data.form.find('input[name="Cantidad"]').attr("maxlength", "2");
            data.form.validationEngine();
        },
        formSubmitting: function (event, data) {
            var valido = data.form.validationEngine('validate');
            //Si estamos en modo "EDIT", debemos de modificar los campos "STRING" de 'Porcentaje' y 'Editable'
            if ((valido) || (data.formType == 'create')) {
                data.form.find('input[name="AnioEscolar"]').val($("#grados").attr("data-anio"));
            }
            return valido;
        },
        formClosed: function (event, data) {
            data.form.validationEngine('hide');
            data.form.validationEngine('detach');
        },
        recordAdded: function(event, data) {
            $('#tbl-grados').jtable('reload');
        }
    });

    //Load person list from server
    //$('#tbl-grados').jtable('load');
});

